package org.jfsm.core;

import org.jfsm.concurrent.ContextExecutor;

public abstract class ConcurrentFSM<C extends ConcurrentFSMContext, I extends FSMInput<C>, O extends FSMOutput>
        extends FSM<C, I, O> {

    public Instance createInstance(ContextExecutor executor) throws FSMException {
        TransitionMap tm = buildTM();
        return new Instance(new ConcurrentFSMWorker(tm, executor), tm);
    }

}
